package com.example.jiaju.ui.msg;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.jiaju.R;
import com.example.jiaju.adapter.MsgAdapter;
import com.example.jiaju.entity.Consult;
import com.example.jiaju.entity.Msg;

import java.util.ArrayList;
import java.util.List;

public class ChatActivity extends AppCompatActivity {

    private List<Msg> msgList = new ArrayList<>();
    private EditText inputText;
    private TextView send;
    private RecyclerView msgRecyclerView;
    private MsgAdapter adapter;
    private TextView textName;

    private Consult consult;
    @SuppressLint("MissingInflatedId")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_chat);

        consult= (Consult) getIntent().getSerializableExtra("consult");
        textName=findViewById(R.id.text_name);
        if(consult!=null){
            textName.setText(consult.getName());
        }else{
            textName.setText("亲，传值为null");
        }
        initMsg();//对数据进行初始化
        //引入activity_main中的布局
        inputText=(EditText)findViewById(R.id.input_text);
        send= findViewById(R.id.send);
        msgRecyclerView=(RecyclerView)findViewById(R.id.recycler_view);

        LinearLayoutManager layoutManager=new LinearLayoutManager(this);
        msgRecyclerView.setLayoutManager(layoutManager);
        adapter=new MsgAdapter(msgList);
        msgRecyclerView.setAdapter(adapter);


        send.setOnClickListener(v -> {
            String content = inputText.getText().toString();
            //获得EditText中的内容并转换成字符串

            //如果EditText中的内容非空
            if(!"".equals(content)){
                Msg msg = new Msg(content,Msg.TYPE_SENT);
                msgList.add(msg);
                adapter.notifyItemInserted(msgList.size()-1);
                //用于通知RecyclerView有新数据插入，刷新ListView中的显示
                msgRecyclerView.scrollToPosition(msgList.size()-1);
                //当有新消息时，将ListView定位到最后一行
                inputText.setText("");
                //清空输入框

                //模拟智能回答
                if(content.contains("买房")) {
                    try {
                        Thread.sleep(1500);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }

                msgList.add(new Msg("您好，事实上，为了房子居住的舒适度，这几项都非常重要：" + "\n" +
                        "1.户型：户型面积的大小将直接影响到你的购房预算，户型以够使用为主，" +"\n"+
                        "小高层舒适度大于高层住宅,洋房舒适度大于小高层，根据预算进行选择；"+"\n"+
                        "2.朝向：当然是朝南最好，朝南偏西5到15度间最好，日晒时间比朝南户型来得长;" +"\n"+
                        "3.楼层：多层（总6-7层）3楼最好4楼其次，小高层（总高8-18层）15至17层最好，" +"\n"+
                        "高层（总高20-35）30层至34层最好；"
                        ,Msg.TYPE_RECEIVED));

                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                msgList.add(new Msg("亲，如果近期有购房需求，推荐含浦佳苑的新房哦，临近学府，交通便利！",Msg.TYPE_RECEIVED));
            }
        });

        //
        findViewById(R.id.returnBtn).setOnClickListener(v -> {
            finish();
        });
    }

    public void initMsg(){
        Msg msg1 = new Msg("您好，很高心为您服务，您打算咨询什么呢？",Msg.TYPE_RECEIVED);
        msgList.add(msg1);
    }

}